home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
libs
/
datamaster_lib.lha
/
Datamaster
/
Developer
/
Include
/
Asm
/
libraries
/
datamaster.i
< prev
Wrap
Text File
|
1997-05-01
|
6KB
|
210 lines
IFND LIBRARIES_DATAMASTER_I
LIBRARIES_DATAMASTER_I SET 1
**
** $Filename: libraries/datamaster.i $
** $Release: 2.0 $
** $Revision: 2.0 $
**
** datamaster.library definitions
**
** (C) Copyright 1995-1997 Alexis Nasr, Dirk Stöcker
** All Rights Reserved
**
IFND EXEC_LISTS_I
INCLUDE "exec/lists.i"
ENDC
IFND EXEC_LIBRARIES_I
INCLUDE "exec/libraries.i"
ENDC
IFND UTILITY_TAGITEM_I
INCLUDE "utility/tagitem.i"
ENDC
DATAMASTERNAME: MACRO
DC.B "datamaster.library",0
ENDM
*************************************************************************
* *
* Headers of recognizers *
* *
*************************************************************************
RECOHEADER: MACRO
MOVEQ #-1,D0
RTS
DC.B "DATARECO"
DC.L \1
ENDM
RECOHEADER2: MACRO ;for internals
EVEN
DC.B "DATARECO"
DC.L \1
ENDM
*************************************************************************
* *
* Library base structure *
* *
*************************************************************************
STRUCTURE DatamasterBase,LIB_SIZE
LONG dmb_Seglist
LONG dmb_RecoAdr ;(internal) adr of array of recognizer segments.
WORD dmb_RecoNb ;number of recognizers
WORD dmb_Flags ;see below
LONG dmb_LockNest ;count of LockCbases.Can only modify prefs if it is ZERO...means no user NOW.
LONG dmb_DosBase
LONG dmb_UtilBase
LONG dmb_ReqBase ;may be ZERO...
LONG dmb_ResBase2
LONG dmb_ResBase3
LABEL dmb_SIZEOF
*************************************************************************
* *
* Flags for dmb_Flags *
* *
*************************************************************************
BITDEF DMFLAG,PrefsNow,0 ;prefs are changing NOW!! please wait!!!
*************************************************************************
* *
* Tags for external Recognizer *
* *
* Tags marked with '*' ***MUST*** be present! *
* *
*************************************************************************
DMR_TagBase: EQU (TAG_USER+"DM") ;DataMaster Recognizer
ENUM DMR_TagBase ; TagBase
EITEM DMR_Check ;pointer to checkroutine
EITEM DMR_Flags ;* see defs
EITEM DMR_Name ;* THAT one is used,*NOT* filename,so don't change it in new versions of recognizer :)
EITEM DMR_Descr ;$VER-like description (60 chars string max)
EITEM DMR_Version ;recoversion: Ver<<16+Rev (high W=ver/low W=rev)
EITEM DMR_DMVersion ;needed version of library
EITEM DMR_Pattern
EITEM DMR_Pri ;See PRI_xxx predefined values
EITEM DMR_RecoNumber ;Obsolete
EITEM DMR_InitRoutine ;optional init routine (libs needed etc)
EITEM DMR_ExitRoutine ;optional exit routine (libs needed etc)
* additions in version 2.0
EITEM DMR_HookName
EITEM DMR_Class ;set classbit in the ti_data
EITEM DMR_SubTypesTable
EITEM DMR_CheckRoutineHook
*************************************************************************
* *
* Flag bits *
* *
* These are used for DMR_Flags tag and for Testfile Mode *
* *
*************************************************************************
BITDEF RECO,Internal,0 ;won't be Unloadseg'd
BITDEF RECO,CheckPatt,1 ;means the PatternTag valid
BITDEF RECO,CheckData,2 ;means the CheckTag valid
BITDEF RECO,XPKLoad,3 ;used for TestFile
BITDEF RECO,Disabled,4 ;NOT USED YET
BITDEF RECO,GetName,5 ;obsolete name
BITDEF RECO,SubType,5 ;means DMR_Check() returns d0=string (& NOT d0=TRUE/FALSE)
BITDEF RECO,NoCopy,6 ;PRIVATE
BITDEF RECO,DupString,7 ;used with GetName flag: means the
;string is ALLOCATED by the recognizer. It'll be the library job
;to Freemem() this string
BITDEF RECO,PattPriority,8 ;for dmTestFile() & dmTestData()
;=> pattern check will be done before data check.
BITDEF RECO,Private1,31 ;(hands off!!)
*************************************************************************
* *
* priority definitions *
* *
* *
* Note: Priority "0" must NOT be used. *
*************************************************************************
PRI_FREQUENT EQU 10
PRI_SINGLE EQU 5
PRI_SINGLEGROUPED EQU 3
PRI_GROUPED EQU 1
PRI_GROUPEDSLOW EQU -5
PRI_RARE EQU -10
PRI_HOOKNAME EQU -100
*************************************************************************
* *
* Class bits (v2.0) *
* *
*************************************************************************
BITDEF DMCLASS,UNKNOWN,0
BITDEF DMCLASS,GRAPHICS,1
BITDEF DMCLASS,ANIMATION,2
BITDEF DMCLASS,MUSIC,3
BITDEF DMCLASS,SAMPLE,4
BITDEF DMCLASS,PACKED,5
BITDEF DMCLASS,SYSTEM,6
BITDEF DMCLASS,MISC,7
BITDEF DMCLASS,LINK,8
BITDEF DMCLASS,ASCII,9
*************************************************************************
* *
* RecoList structures *
* *
* WARNING! *
* The RecoList structure has *changed*. It must ONLY be used now with *
* dmQueryRecoListNew() and dmQueryRecoNamesNew(). *
* DO NOT USE the old corresponding functions! *
* The SIZE of RecoList structure is not defined ! *
* *
*************************************************************************
STRUCTURE RecoList,0 ;access ONLY rl_NumRecos & rl_RecoList array
ULONG rl_OwnSize
UWORD rl_NumRecos ;number of recognizers
APTR rl_RecoList ;array of .L=addresses of names/recos
STRUCTURE RecoListOld,0 ;old recolist (for internal compatibility. NEVER USE IT ANYMORE)
UWORD orl_NumRecos ;number of recognizers
STRUCT orl_RecoList,128*4 ;array of .L=addresses of names/recos
ULONG orl_Null
LABEL orl_SIZEOF
*************************************************************************
* *
* DM_Handle structure *
* *
* It is <<PRIVATE>> and WILL change in the future! *
* You can only access the non-private fields. *
* *
*************************************************************************
STRUCTURE DM_Handle,0
APTR dmh_String
ULONG dmh_Size ;PRIVATE
ULONG dmh_OwnSize ;PRIVATE
APTR dmh_SubType ;(v2.0) additional SubType string, if available.
ULONG dmh_SubTypeSize ;PRIVATE
LABEL dmh_SIZEOF
ENDC ; LIBRARIES_DATAMASTER_I